Some records in computer systems are associated with validity periods. For example, an organization may use validity periods with residence addresses of its employees that are stored in a computer database. When an employee moves, the employee's current address is updated with an “end date” to signify that it is no longer a current address and the employee's new address is entered with a corresponding “begin date”. In other words, the system may have a data model specifying that every address record should have begin and end dates associated with it.
This data model causes a problem when the employee's new address is being entered, because its end date is typically not known at that time. Yet the data model may require an end date to be entered for the record to be acceptable. One approach that is used to overcome this problem is to enter an “extreme” value as the end date for the new address record. For example, when the data model lets year values be entered with four digits, values like 9999-12-31 are sometimes entered as the end date for a validity period. That is, the extreme value is not a “true” end date but is used to signify that the validity period has an indefinite range. Such end dates typically do not cause any problems within the computer system because they are virtually certain to be obsolete or replaced with an actual end date long before they become valid.
The use of extreme values can be problematic, however, outside the computer system. Some users find it inconvenient or distracting to see validity periods ending several thousand years in the future. These values may also increase the risk for mistakes, for example because a user can mistake the extreme date 9999-12-31 for 99-12-31. The extreme dates are also hard to distinguish from contemporary dates in a list, and it can therefore be difficult to quickly separate valid records (which have extreme values as their end dates) from invalid records (whose end dates have already occurred). Moreover, because extreme dates are used to signify that the validity range is unlimited, there is little benefit in making the user read and absorb the entire, say, ten digits of such an expression. Extreme values may be used with numerical ranges other than validity periods, and the disadvantages are essentially the same.